//mapData数据结构
export interface MapdataType {
    name: string
    value: [number, number, number] //x,y,value  第一个x 第二个y  第三个value
}
export const optionHandle = (regionCode: string, list: object[], mapData: MapdataType[]) => {
    let top = 45
    let zoom = ["china"].includes(regionCode) ? 1.05 : 1
    return {
        backgroundColor: "rgba(0,0,0,0)",
        tooltip: {
            show: false,
        },
        legend: {
            show: false,
        },
        visualMap: {
            seriesIndex: 0,
            left: 20,
            bottom: 20,
            pieces: [
                { gte: 1000, label: "1000个以上" }, // 不指定 max，表示 max 为无限大（Infinity）。
                { gte: 600, lte: 999, label: "600-999个" },
                { gte: 200, lte: 599, label: "200-599个" },
                { gte: 50, lte: 199, label: "49-199个" },
                { gte: 10, lte: 49, label: "10-49个" },
                { lte: 9, label: "1-9个" }, // 不指定 min，表示 min 为无限大（-Infinity）。
            ],
            inRange: {
                // 渐变颜色，从小到大
                // FFFFFF,EDF7FD,DBF0FA,C9E8F8,B7E1F6,A5D9F3,93D2F1,81CAEF,6FC2EC,5DBBEA,4AB3E8,38ACE5,26A4E3,1C9AD9,1A8DC7,
                // 1781B5,
                // 1573A2,136790,105A7E,0E4D6C,0C405A,093348,072636,051A24,020D12
                color: [
                    // "#EDF7FD",
                    "rgba(237,247,253,.8)",
                    // "#B7E1F6",
                    "rgba(183,225,246,.9)",
                    // "#81CAEF",
                    "rgba(129,202,239,.9)",
                    // "#38ACE5",
                    "rgba(56,172,229,.9)",
                    // "#1781B5",
                    "rgba(23,129,181,.9)",
                    // "#105A7E",
                    "rgba(16,90,126,0.9)",
                ],
            },
            textStyle: {
                color: "#fff",
            },
        },
        geo: {
            map: regionCode,
            roam: false,
            selectedMode: false, //是否允许选中多个区域
            zoom: zoom,
            top: top,
            // aspectScale: 0.78,
            show: false,
        },
        series: [
            {
                name: "MAP",
                type: "map",
                map: regionCode,
                // aspectScale: 0.78,
                data: list,
                // data: [1,100],
                selectedMode: false, //是否允许选中多个区域
                zoom: zoom,
                geoIndex: 1,
                top: top,
                tooltip: {
                    show: true,
                    formatter: function (params: any) {
                        if (params.data) {
                            return params.name + "：" + params.data["value"]
                        } else {
                            return params.name
                        }
                    },
                    backgroundColor: "rgba(0,0,0,.6)",
                    borderColor: "rgba(147, 235, 248, .8)",
                    textStyle: {
                        color: "#FFF",
                    },
                },
                label: {
                    show: false,
                    color: "#000",
                    // position: [-10, 0],
                    formatter: function (val: any) {
                        // console.log(val)
                        if (val.data !== undefined) {
                            return val.name.slice(0, 2)
                        } else {
                            return ""
                        }
                    },
                    rich: {},
                },
                emphasis: {
                    label: {
                        show: false,
                    },
                    itemStyle: {
                        // areaColor: "rgba(56,155,183,.7)",
                        areaColor: {
                            type: "radial",
                            x: 0.5,
                            y: 0.5,
                            r: 0.8,
                            colorStops: [
                                {
                                    offset: 0,
                                    color: "rgba(147, 235, 248, 0)", // 0% 处的颜色
                                },
                                {
                                    offset: 1,
                                    color: "rgba(56,155,183, .8)", // 100% 处的颜色
                                },
                            ],
                            globalCoord: false, // 缺为 false
                        },
                        borderWidth: 1,
                    },
                },
                itemStyle: {
                    borderColor: "rgba(147, 235, 248, .8)",
                    borderWidth: 1,
                    areaColor: {
                        type: "radial",
                        x: 0.5,
                        y: 0.5,
                        r: 0.8,
                        colorStops: [
                            {
                                offset: 0,
                                color: "rgba(147, 235, 248, 0)", // 0% 处的颜色
                            },
                            {
                                offset: 1,
                                color: "rgba(147, 235, 248, .2)", // 100% 处的颜色
                            },
                        ],
                        globalCoord: false, // 缺为 false
                    },
                    shadowColor: "rgba(128, 217, 248, .3)",
                    shadowOffsetX: -2,
                    shadowOffsetY: 2,
                    shadowBlur: 10,
                },
            },
            {
                data: mapData,
                type: "effectScatter",
                coordinateSystem: "geo",
                symbolSize: function (val: any) {
                    return 4
                    // return val[2] / 50;
                },
                legendHoverLink: true,
                showEffectOn: "render",
                rippleEffect: {
                    // period: 4,
                    scale: 6,
                    color: "rgba(255,255,255, 1)",
                    brushType: "fill",
                },
                tooltip: {
                    show: true,
                    formatter: function (params: any) {
                        if (params.data) {
                            return params.name + "：" + params.data["value"][2]
                        } else {
                            return params.name
                        }
                    },
                    backgroundColor: "rgba(0,0,0,.6)",
                    borderColor: "rgba(147, 235, 248, .8)",
                    textStyle: {
                        color: "#FFF",
                    },
                },
                label: {
                    formatter: (param: any) => {
                        return param.name.slice(0, 2)
                    },

                    fontSize: 11,
                    offset: [0, 2],
                    position: "bottom",
                    textBorderColor: "#0ff",
                    textShadowColor: "#000",
                    textShadowBlur: 10,
                    textBorderWidth: 0,
                    color: "#FFF",
                    show: true,
                },
                // colorBy: "data",
                itemStyle: {
                    color: "rgba(255,255,255,1)",
                    borderColor: "rgba(2255,255,255,2)",
                    borderWidth: 4,
                    shadowColor: "#000",
                    shadowBlur: 10,
                },
            },
        ],
        //动画效果
        // animationDuration: 1000,
        // animationEasing: 'linear',
        // animationDurationUpdate: 1000
    }
}

export const regionCodes: any = {
    中国: {
        adcode: "100000",
        level: "country",
        name: "中华人民共和国",
    },
    新疆维吾尔自治区: {
        adcode: "650000",
        level: "province",
        name: "新疆维吾尔自治区",
    },
    湖北省: {
        adcode: "420000",
        level: "province",
        name: "湖北省",
    },
    辽宁省: {
        adcode: "210000",
        level: "province",
        name: "辽宁省",
    },
    广东省: {
        adcode: "440000",
        level: "province",
        name: "广东省",
    },
    内蒙古自治区: {
        adcode: "150000",
        level: "province",
        name: "内蒙古自治区",
    },
    黑龙江省: {
        adcode: "230000",
        level: "province",
        name: "黑龙江省",
    },
    河南省: {
        adcode: "410000",
        level: "province",
        name: "河南省",
    },
    山东省: {
        adcode: "370000",
        level: "province",
        name: "山东省",
    },
    陕西省: {
        adcode: "610000",
        level: "province",
        name: "陕西省",
    },
    贵州省: {
        adcode: "520000",
        level: "province",
        name: "贵州省",
    },
    上海市: {
        adcode: "310000",
        level: "province",
        name: "上海市",
    },
    重庆市: {
        adcode: "500000",
        level: "province",
        name: "重庆市",
    },
    西藏自治区: {
        adcode: "540000",
        level: "province",
        name: "西藏自治区",
    },
    安徽省: {
        adcode: "340000",
        level: "province",
        name: "安徽省",
    },
    福建省: {
        adcode: "350000",
        level: "province",
        name: "福建省",
    },
    湖南省: {
        adcode: "430000",
        level: "province",
        name: "湖南省",
    },
    海南省: {
        adcode: "460000",
        level: "province",
        name: "海南省",
    },
    江苏省: {
        adcode: "320000",
        level: "province",
        name: "江苏省",
    },
    青海省: {
        adcode: "630000",
        level: "province",
        name: "青海省",
    },
    广西壮族自治区: {
        adcode: "450000",
        level: "province",
        name: "广西壮族自治区",
    },
    宁夏回族自治区: {
        adcode: "640000",
        level: "province",
        name: "宁夏回族自治区",
    },
    浙江省: {
        adcode: "330000",
        level: "province",
        name: "浙江省",
    },
    河北省: {
        adcode: "130000",
        level: "province",
        name: "河北省",
    },
    香港特别行政区: {
        adcode: "810000",
        level: "province",
        name: "香港特别行政区",
    },
    台湾省: {
        adcode: "710000",
        level: "province",
        name: "台湾省",
    },
    澳门特别行政区: {
        adcode: "820000",
        level: "province",
        name: "澳门特别行政区",
    },
    甘肃省: {
        adcode: "620000",
        level: "province",
        name: "甘肃省",
    },
    四川省: {
        adcode: "510000",
        level: "province",
        name: "四川省",
    },
    天津市: {
        adcode: "120000",
        level: "province",
        name: "天津市",
    },
    江西省: {
        adcode: "360000",
        level: "province",
        name: "江西省",
    },
    云南省: {
        adcode: "530000",
        level: "province",
        name: "云南省",
    },
    山西省: {
        adcode: "140000",
        level: "province",
        name: "山西省",
    },
    北京市: {
        adcode: "110000",
        level: "province",
        name: "北京市",
    },
    吉林省: {
        adcode: "220000",
        level: "province",
        name: "吉林省",
    },
}
